﻿
using Elysium.Demo.Service_Espana;
using SIIE_ERP.BaseDatos;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;

namespace Elysium.Demo.Ventas
{
    public class WebServicesClass
    {
        #region Constructor

        public WebServicesClass() 
        {

        }

        #endregion

        public static int GetNumeroTimbresGratis(string RFC)
        {
            TimbrarServiceClient ws = new TimbrarServiceClient();
            return ws.GetNumeroTimbresGratis(RFC);
        }

        public static int GetNumeroTimbresPago(string RFC)
        {
            TimbrarServiceClient ws = new TimbrarServiceClient();
            return ws.GetNumeroTimbresPago(RFC);
        }

        public static bool AnadirTimbres(string RFC, int Numero)
        {
            TimbrarServiceClient ws = new TimbrarServiceClient();
            return ws.AnadirTimbres(RFC, Numero);
        }

        public static bool CheckConnection()
        {
            try
            {   
                TimbrarServiceClient ws = new TimbrarServiceClient();
                return ws.CheckConnection();
            }
            catch (Exception Ex)
            {
                Console.Write(Ex.Message);
                return false;
            }            
        }

        public static int NumeroTimbres(string RFC)
        {
            TimbrarServiceClient ws = new TimbrarServiceClient();
            return ws.NumeroTimbres(RFC);            
        }

        public static string TimbrarXML(Documentos_Id Tipo_Doc, int Id_Documento, string XML, string RFC)
        {
            TimbrarServiceClient ws = new TimbrarServiceClient();
            return ws.TimbrarCFDi(Tipo_Doc.GetHashCode(), Id_Documento, XML, RFC);                              
        }

        public static string DatosTA(string RFC)
        {
            TimbrarServiceClient ws = new TimbrarServiceClient();
            return ws.ClavesTA(RFC);                              
        }

        public static double GetSaldo_Telcel(string RFC)
        {
            TimbrarServiceClient ws = new TimbrarServiceClient();
            return ws.GetSaldo_Telcel(RFC);
        }

        public static double GetSaldo_Otros(string RFC)
        {
            TimbrarServiceClient ws = new TimbrarServiceClient();
            return ws.GetSaldo_Otros(RFC);
        }

        public static bool RegistrarPagoEMIDA(string RFC, bool EsTelcel, int Monto, string NumeroDocumento, string Fecha, string Banco)
        {
            TimbrarServiceClient ws = new TimbrarServiceClient();
            return ws.RegistrarPagoEMIDA(RFC, EsTelcel, Monto, NumeroDocumento, Fecha, Banco);
        }

        public static bool RecargaTA(bool EsTelcel, string RFC, string ProductID, string NumeroCelular, double MontoRecarga)
        {
            TimbrarServiceClient ws = new TimbrarServiceClient();
            return ws.RealizarRecargaTA(EsTelcel, RFC, ProductID, NumeroCelular, MontoRecarga);
        }

        public static bool CreateAndSavePay_PagoFacil
        (
            double monto,
            string RFC,
            string Nombre,
            string Apellidos,
            string Numero_Tarjeta,
            string CodigoSeguridad,
            string CP,
            string FechaVenc_mm,
            string FechaVenc_aa,
            string Telefono,
            string Celular,
            string Dir_Calle,
            string Dir_Colonia,
            string Dir_CiudadPueblo,
            string Estado,
            string Pais,
            string Descripcion_Pago
        )
        {
            TimbrarServiceClient ws = new TimbrarServiceClient();

            return ws.CreateAndSavePay_PagoFacil
            (
                monto,
                RFC,
                Nombre,
                Apellidos,
                Numero_Tarjeta,
                CodigoSeguridad,
                CP,
                FechaVenc_mm,
                FechaVenc_aa,
                Telefono,
                Celular,
                Dir_Calle,
                Dir_Colonia,
                Dir_CiudadPueblo,
                Estado,
                Pais,
                Descripcion_Pago
            );
        }
    }
}
